﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;

namespace Metabase
{
    static class SqlService
    {

        // Функция предварительной подготовки скрипта, загруженного из файла ресурса
        static public string[] ScriptService(string scriptText)
        {
            // Разобъем на строки, убрав GO комманду
            string[] splitter = new string[] { "\r\nGO\r\n", "\r\ngo\r\n", "\r\nGo\r\n", "\r\ngO\r\n" };
            string[] commandTexts = scriptText.Split(splitter, StringSplitOptions.RemoveEmptyEntries);
            return commandTexts;
        }

        // Функция проверки наличия таблицы в базе
        static public bool tableExistsSQLServer(SqlConnection connection, string Schema, string TableName)
        {
            string queryText = "Select * From INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = @Schema And  TABLE_NAME = @TableName";
            bool result;
            using (SqlCommand dbCommand = new SqlCommand(queryText, connection))
            {
                dbCommand.Parameters.Add("Schema", SqlDbType.VarChar).Value = Schema == null ? DBNull.Value : (object)Schema;
                dbCommand.Parameters.Add("TableName", SqlDbType.VarChar).Value = TableName == null ? DBNull.Value : (object)TableName;
                SqlDataReader cursor = dbCommand.ExecuteReader();
                result = cursor.Read();
                cursor.Close();
            }
            return result;
        }
    }
}
